package com.example.springboot.entity;

import java.math.BigDecimal;
import java.time.LocalDateTime;

public class Order {
    private Integer orderId;
    private Integer deviceId;
    private Integer userId;
    private Integer packageId;       // 套餐 ID
    private Integer waterOptionId;  // 水量选项 ID
    private Integer programId;      // 程序 ID
    private Integer scentId;        // 香味选项 ID
    private Integer dryingId;       // 烘干选项 ID
    private BigDecimal orderAmount;
    private String status;
    private LocalDateTime createdAt;
    private LocalDateTime updatedAt;
    private Integer duration;  // 订单持续时间，以分钟为单位
    private String orderType;  // 订单类型（商家服务/自助服务）
    private Integer merchantId;
    private String serviceType; // "pickup_only" 或 "full_service"
    private String address;
    private String contactNumber;
    private String rentalId;

    private BigDecimal rentalDuration;    // 租赁时长（分钟）
    private Double addressLatitude;   // 取件地址纬度
    private Double addressLongitude;  // 取件地址经度
    private Integer pointId;

    // Getters and Setters
    public Integer getOrderId() {
        return orderId;
    }

    public void setOrderId(Integer orderId) {
        this.orderId = orderId;
    }

    public Integer getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(Integer deviceId) {
        this.deviceId = deviceId;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public Integer getPackageId() {
        return packageId;
    }

    public void setPackageId(Integer packageId) {
        this.packageId = packageId;
    }

    public Integer getWaterOptionId() {
        return waterOptionId;
    }

    public void setWaterOptionId(Integer waterOptionId) {
        this.waterOptionId = waterOptionId;
    }

    public Integer getProgramId() {
        return programId;
    }

    public void setProgramId(Integer programId) {
        this.programId = programId;
    }

    public Integer getScentId() {
        return scentId;
    }

    public void setScentId(Integer scentId) {
        this.scentId = scentId;
    }

    public Integer getDryingId() {
        return dryingId;
    }

    public void setDryingId(Integer dryingId) {
        this.dryingId = dryingId;
    }

    public BigDecimal getOrderAmount() {
        return orderAmount;
    }

    public void setOrderAmount(BigDecimal orderAmount) {
        this.orderAmount = orderAmount;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public LocalDateTime getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(LocalDateTime createdAt) {
        this.createdAt = createdAt;
    }

    public LocalDateTime getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(LocalDateTime updatedAt) {
        this.updatedAt = updatedAt;
    }

    public Integer getDuration() {
        return duration;
    }

    public void setDuration(Integer duration) {
        this.duration = duration;
    }

    public String getOrderType() {
        return orderType;
    }

    public void setOrderType(String orderType) {
        this.orderType = orderType;
    }

    // 修正 set 方法，确保自定义选项 ID 被正确设置
    public void setProgramOptionId(Integer programOptionId) {
        this.programId = programOptionId;
    }

    public void setScentOptionId(Integer scentOptionId) {
        this.scentId = scentOptionId;
    }

    public void setDryingOptionId(Integer dryingOptionId) {
        this.dryingId = dryingOptionId;
    }

    // 新增 getters and setters
    public Integer getMerchantId() {
        return merchantId;
    }

    public void setMerchantId(Integer merchantId) {
        this.merchantId = merchantId;
    }

    public String getServiceType() {
        return serviceType;
    }

    public void setServiceType(String serviceType) {
        this.serviceType = serviceType;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getContactNumber() {
        return contactNumber;
    }

    public void setContactNumber(String contactNumber) {
        this.contactNumber = contactNumber;
    }

    public String getRentalId() {
        return rentalId;
    }

    public void setRentalId(String rentalId) {
        this.rentalId = rentalId;
    }




    public Double getAddressLatitude() {
        return addressLatitude;
    }

    public void setAddressLatitude(Double addressLatitude) {
        this.addressLatitude = addressLatitude;
    }

    public Double getAddressLongitude() {
        return addressLongitude;
    }

    public void setAddressLongitude(Double addressLongitude) {
        this.addressLongitude = addressLongitude;
    }
    // 新增 pointId 的 getter 和 setter
    public Integer getPointId() {
        return pointId;
    }

    public void setPointId(Integer pointId) {
        this.pointId = pointId;
    }

    public BigDecimal getRentalDuration() {
        return rentalDuration;
    }

    public void setRentalDuration(BigDecimal rentalDuration) {
        this.rentalDuration = rentalDuration;
    }
}
